As more and more information is made accessible via the Internet, web search engines are becoming an increasingly important way for people to find out information in their everyday lives. The sheer volume of information available via the web, however, can make presenting relevant search results to users a very difficult problem, as more relevant search results may be lost among irrelevant results.
Local search engines are a form of web search engines that focus on providing to users lists of entities, including businesses and individuals, in a certain area—an electronic directory of businesses or individuals. User search terms include, for example, service/product types or business names and a geographic region, and the search engine returns to the user a list of businesses within the region along with contact information for the businesses (e.g., address, telephone number, web site, e-mail address, etc.). Due to the potentially large number and variety of businesses of a certain type in a given area (e.g., pizza restaurants), it can be difficult to select the business that best matches the user's preference, as expressed in his or her search query.
Various methods for selecting and sorting search results have therefore been used in conventional web search engines. The simplest methods are based on exact or almost exact textual matching of information items stored in the search engine data store to the terms of the user's query. An example of such a conventional method is shown in FIG. 1.
In block 100, users enter a search query into the search engine, and in block 102 the query is transmitted to the engine. In block 104, the search engine compares the user's search terms to its database and selects results to transmit to the user. In block 106, the user reviews the results and may take any number of actions, such as visiting a location associated with a search result (block 108), clicking on a hyperlink in the results to view a web page associated with a search result (block 110), or making a telephone call to an entity listed as or associated with a search result (block 112). The method of FIG. 1 cannot detect any such actions, however, and will keep providing results to users based on exact or approximate textual matching, which may include irrelevant results.
In the interest of improving search results, some conventional search engines attempt to understand what information a user was trying to find when he or she entered the search query by analyzing what the user does with the results. The method illustrated in FIG. 2 is an example of such a method that attempts to learn about its users by analyzing how they interact with the web page comprising the results of the web search.
Just as in FIG. 1, in block 200, users enter a search query into the search engine, and in block 202 the query is transmitted to the engine. In block 204, the search engine compares the user's search terms to its database and selects results to transmit to the user. In block 206, the user reviews the results and may take any number of actions, such as visiting a location listed as or associated with a search result (block 208), clicking a hyperlink in the results to view a web page associated with a search result (block 210), or making a telephone call to an entity listed as or associated with a search result (block 212). The method of FIG. 2, however, includes an additional block 214 that attempts to understand better the user's search query by analyzing the results selected by the user, determined by the hyperlinks clicked by the user. Information gathered during this method is then fed back to the result selection method of block 204 where it can be used in selecting and sorting search results to similar queries.
Methods such as that shown in FIG. 2, however, have been conventionally limited to analyzing the hyperlinks clicked by the user or other “online” information collected while the user interacts with the search engine's web page.
Some web sites do monitor offline activities of users, but do not do so in conjunction with improving search results. Pay-per-call advertising, for example, tracks the users who place calls to a business through listing a specific telephone number for the business in the advertisement that is associated only with that advertisement. It can be inferred, then, that every person calling that telephone number saw that advertisement. A web site may then charge the business a specific rate per call or may use the telephone call logs to negotiate higher prices for advertising. This information is typically used in advertising, however, and is not typically fed back to the search engine and used in selecting and sorting search results.